home *** CD-ROM | disk | FTP | other *** search
- DESKTOP /x1k1
- ┌───────┐
- │ FONTS │
- └───────┘
- FONT = HEADER + CELL_TABLE + CHARACTER_TABLE + DATA
-
- HEADER:
- -------
- byte#
- 0- 1 Font type (1:system 2-...:user)
- 2- 3 Font height (in points,1/72")
- 4-19 Font name (ascii)
- 20-35 Font style (ascii)
- 36-37 First character (ascii)
- 38-39 Last character (ascii)
- 40-41 Baseline/topline distance (in pixels)
- 42-43 Baseline/ascentline distance (in pixels)
- 44-45 Baseline/halfline distance (in pixels)
- 46-47 Baseline/descentline distance (in pixels)
- 48-49 Baseline/bottomline distance (in pixels)
- 50-51 Character maxi width (in pixels)
- 52-53 Cell maxi width (in pixels)
- 54-55 Left offset (in pixels)
- 56-57 Right offset (in pixels)
- 58-59 Thickening value (in pixels)
- 60-61 Underlining value (in pixels)
- 62-63 Lightening mask
- 64-65 Skewing mask
- 66-67 Flags ( b0:system font )
- ( b1:cellW<>characterW )
- ( b2:little endian )
- ( b3:characterW=characterWmaxi )
- 68-71 Cell_table pointer
- 72-75 Character_table pointer
- 76-79 Data pointer
- 80-81 Data with/line (in bytes)
- 82-83 Data height (in lines)
- 84-87 Next font pointer
-
- CELL_TABLE:
- -----------
- byte#
- 0- 1 Start of the 1st cell (in bits)
- 2- 3 Start of the 2nd cell (in bits)
- 4- 5 Start of the 3rd cell (in bits)
- 6- 7 Start of the 4th cell (in bits)
- 8- 9 Start of the 5th cell (in bits)
- ... ...
-
- CHARACTER_TABLE:
- ----------------
- byte#
- 0- 1 Start of the 1st character (in bits)
- 2- 3 Start of the 2nd character (in bits)
- 4- 5 Start of the 3rd character (in bits)
- 6- 7 Start of the 4th character (in bits)
- 8- 9 Start of the 5th character (in bits)
- ... ...
-
- DATA:
- -----
- byte#
- 0*Data_with Start of the 1st line of all characters
- 1*Data_with Start of the 2nd line of all characters
- 2*Data_with Start of the 3rd line of all characters
- 3*Data_with Start of the 4th line of all characters
- 4*Data_with Start of the 5th line of all characters
- ... ...
-